home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / skill.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  4.4 KB  |  107 lines

  1. " Vim syntax file
  2. " Language:     SKILL
  3. " Maintainer:   Toby Schaffer <jtschaff@eos.ncsu.edu>
  4. " Last change:  1998 Mar 16
  5. " Comments:     SKILL is a Lisp-like programming language for use in EDA
  6. "               tools from Cadence Design Systems. It allows you to have
  7. "               a programming environment within the Cadence environment
  8. "               that gives you access to the complete tool set and design 
  9. "               database.
  10.  
  11. " Remove any old syntax stuff hanging around
  12. syn clear
  13.  
  14. syn keyword skillConstants          t nil unbound
  15.  
  16. " generic reserved words (these are technically functions... :))
  17. syn keyword skillKeywords           prog progn prog1 prog2 lambda nlambda 
  18. syn keyword skillKeywords           defun procedure nprocedure mprocedure
  19. syn keyword skillKeywords           return let 
  20. syn keyword skillConditional        if else then case unless cond when
  21. syn keyword skillRepeat             for forall foreach go while 
  22.  
  23. " for Diva rules files
  24. syn keyword skillDivaKeywords       ivIf and or null
  25. syn keyword skillDivaFunctions      drcExtractRules lvsRules
  26. syn keyword skillDivaDRCFunctions   drc dubiousData offGrid saveDerived
  27. syn keyword skillDivaDRCFunctions   area enc notch ovlp sep width not_over
  28. syn keyword skillDivaExtFunctions   saveParasitic saveInterconnect
  29. syn keyword skillDivaExtFunctions   saveProperty saveRecognition
  30. syn keyword skillDivaExtFunctions   measureParasitic attachParasitic
  31. syn keyword skillDivaExtFunctions   calculateParameter measureParameter 
  32. syn keyword skillDivaExtFunctions   saveParameter extractDevice extractMOS
  33. syn keyword skillDivaLVSFunctions   permuteDevice
  34.  
  35. " procedural interface routines
  36.  
  37. " CDF functions
  38. syn match skillcdfFunctions         "\<cdf[A-Z][a-zA-Z]\+\>"
  39. " graphic editor functions
  40. syn match skillgeFunctions          "\<ge[A-Z][a-zA-Z]\+\>"
  41. " human interface functions
  42. syn match skillhiFunctions          "\<hi[A-Z][a-zA-Z]\+\>"
  43. " layout editor functions
  44. syn match skillleFunctions          "\<le[A-Z][a-zA-Z]\+\>"
  45. " database functions
  46. syn match skilldbFunctions          "\<db[A-Z][a-zA-Z]\+\>"
  47. " design editor functions
  48. syn match skilldeFunctions          "\<de[A-Z][a-zA-Z]\+\>"
  49. " design flow functions
  50. syn match skilldfFunctions          "\<df[A-Z][a-zA-Z]\+\>"
  51. " design management & design data services functions
  52. syn match skillddFunctions          "\<dd[s]\=[A-Z][a-zA-Z]\+\>"
  53. " parameterized cell functions
  54. syn match skillpcFunctions          "\<pc[A-Z][a-zA-Z]\+\>"
  55. " tech file functions
  56. syn match skilltechFunctions        "\<tech[A-Z][a-zA-Z]\+\>"
  57. " Diva geometry functions
  58. syn match skillDivaGeomFunctions    "\<geom[A-Z][a-zA-Z]\+\>"
  59. syn keyword skillDivaGeomFunctions  geomGetNon45 geomGetNon90
  60.  
  61. " strings
  62. syn region skillString              start=+"+ skip=+\\"+ end=+"+
  63.  
  64. syn keyword skillTodo contained     TODO FIXME XXX ???
  65. syn keyword skillNote contained     NOTE IMPORTANT
  66.  
  67. " comments are either C-style or begin with a semicolon
  68. syn region skillComment             start="/\*" end="\*/" contains=skillTodo,skillNote
  69. syn match skillComment              ";.*" contains=skillTodo,skillNote
  70. syn match skillCommentError         "\*/"
  71.  
  72. syn sync ccomment skillComment minlines=10
  73.  
  74. if !exists("did_skill_syntax_inits")
  75.     let did_skill_syntax_inits = 1
  76.                                       
  77.     hi link skillConstants          Constant
  78.     hi link skillKeywords           Statement
  79.     hi link skillConditional        Conditional
  80.     hi link skillRepeat             Repeat
  81.     hi link skillDivaKeywords       Statement
  82.     hi link skillDivaFunctions      Function
  83.     hi link skillDivaDRCFunctions   Function
  84.     hi link skillDivaExtFunctions   Function
  85.     hi link skillDivaLVSFunctions   Function
  86.     hi link skillcdfFunctions       Function
  87.     hi link skillgeFunctions        Function
  88.     hi link skillhiFunctions        Function
  89.     hi link skillleFunctions        Function
  90.     hi link skilldbFunctions        Function
  91.     hi link skilldeFunctions        Function
  92.     hi link skilldfFunctions        Function
  93.     hi link skillddFunctions        Function
  94.     hi link skillpcFunctions        Function
  95.     hi link skilltechFunctions      Function
  96.     hi link skillDivaGeomFunctions  Function
  97.     hi link skillString             String
  98.     hi link skillTodo               Todo
  99.     hi link skillNote               Todo
  100.     hi link skillComment            Comment
  101.     hi link skillCommentError       Error
  102. endif
  103.  
  104. let b:current_syntax = "skill"
  105.  
  106. " vim: ts=4
  107.